﻿using System;
using System.Data;
using System.Resources;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;

namespace PhongKham.Class
{
	/// <summary>
    /// Class dùng để thông báo.
	/// </summary>
	public class ClsBaoLoi// : MessageBox
	{
        /// <summary>
        /// Quản lý Resource
        /// </summary>
		private ResourceManager rm;

        /// <summary>
        /// Khởi tạo
        /// </summary>
		public ClsBaoLoi()
		{
			//
			// TODO: Add constructor logic here
			//
			rm = new ResourceManager("HIS.Classes.ErrorLib", this.GetType().Assembly);
		}

        /// <summary>
        /// Đưa ra MessageBox cảnh báo với MessageBoxIcon.Warning
        /// </summary>
        /// <param name="pThongBao">Câu cảnh báo</param>
		public void CanhBao(string pThongBao)
		{
			MessageBox.Show(pThongBao, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
		}
		
        /// <summary>
        /// Đưa ra MessageBox báo lỗi với MessageBoxIcon.Stop
        /// </summary>
        /// <param name="pThongBao">Câu báo lỗi</param>
		public void Loi(string pThongBao)
		{
            MessageBox.Show(rm.GetString(pThongBao) == null ? pThongBao : rm.GetString(pThongBao).Replace("\\n","\n"), "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Stop);
		}

        /// <summary>
        /// Đưa ra MessageBox hỏi với MessageBoxButtons.YesNo
        /// </summary>
        /// <param name="pThongBao">Câu hỏi</param>
        /// <returns>(true/false)</returns>
		public bool Hoi(string pThongBao)
		{
			if (MessageBox.Show(pThongBao, "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)== DialogResult.Yes)
				return true;
			else
				return false;
		}

        /// <summary>
        /// Đưa ra MessageBox hỏi tương ứng trong Resource với MessageBoxButtons.YesNo
        /// </summary>
        /// <param name="pResource">Mã trong Resource</param>
        /// <returns>(true/false)</returns>
		public bool HoiResource(string pResource)
		{
			if (MessageBox.Show(rm.GetString(pResource), "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)== DialogResult.Yes)
				return true;
			else
				return false;
		}

        /// <summary>
        /// Đưa ra MessageBox báo lỗi trong khi DEBUG
        /// </summary>
        /// <param name="Ex">Exception</param>
        public void Loi(Exception Ex)
        {
#if(DEBUG)
            MessageBox.Show(Ex.ToString(), "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);            
#endif
        }
	}
}
